using System;

namespace AdvancedInspector
{
	[AttributeUsage(AttributeTargets.Property | AttributeTargets.Field)]
	public class TextFieldAttribute : Attribute, IListAttribute
	{
		private const string TITLE = "Select Path...";

		private const string PATH = "";

		private const string EXTENSION = "";

		private string title = string.Empty;

		private string path = "C:\\";

		private string extension = string.Empty;

		private TextFieldType type;

		public string Title
		{
			get
			{
				return title;
			}
			set
			{
				title = value;
			}
		}

		public string Path
		{
			get
			{
				return path;
			}
			set
			{
				path = value;
			}
		}

		public string Extension
		{
			get
			{
				return extension;
			}
			set
			{
				extension = value;
			}
		}

		public TextFieldType Type
		{
			get
			{
				return type;
			}
			set
			{
				type = value;
			}
		}

		public TextFieldAttribute(TextFieldType type)
			: this(type, "Select Path...", string.Empty, string.Empty)
		{
		}

		public TextFieldAttribute(TextFieldType type, string title)
			: this(type, title, string.Empty, string.Empty)
		{
		}

		public TextFieldAttribute(TextFieldType type, string title, string path)
			: this(type, title, path, string.Empty)
		{
		}

		public TextFieldAttribute(TextFieldType type, string title, string path, string extension)
		{
			this.type = type;
			this.title = title;
			this.path = path;
			this.extension = extension;
		}
	}
}
